package com.roads.plan.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.roads.common.core.domain.BaseEntity;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 形象清单对象 plan_profile_boq
 *
 * @author nhp
 * @date 2024-01-29
 */
public class PlanProfileBoq extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 自增主键
     */
    private Integer id;

    /**
     * 标段编码
     */
    private String institutionCode;

    /**
     * 清单编码
     */
    private String boqCode;

    /**
     * 标段清单编码
     */
    private String institutionBoqCode;

    /**
     * 清单名称
     */
    private String boqName;

    /**
     * 上级编号
     */
    private String parentCode;

    /**
     * 祖籍列表
     */
    private String ancestors;

    /**
     * 显示排序
     */
    private Double orderNum;

    /**
     * 级别
     */
    private Integer level;

    /**
     * 是否叶子结点（0否 1是）
     */
    private String leafNode;

    /**
     * 单位
     */
    private String unit;

    /**
     * 数量
     */
    private BigDecimal amount;

    /**
     * 金额
     */
    private BigDecimal total;

    /**
     * 剩余数量
     */
    private BigDecimal remainderAmount;

    /**
     * 已计量数量
     */
    private BigDecimal alreadyAmount;

    /**
     * 剩余金额
     */
    private BigDecimal remainderTotal;

    /**
     * 已计量金额
     */
    private BigDecimal alreadyTotal;

    /**
     * 是否完成 N 未完成 Y 已完成
     */
    private String complete;

    /**
     * 开始日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date startDate;
    /**
     * 截止日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date endDate;
    /**
     * 持续时间
     */
    private Integer duration;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getInstitutionCode() {
        return institutionCode;
    }

    public void setInstitutionCode(String institutionCode) {
        this.institutionCode = institutionCode;
    }

    public String getBoqCode() {
        return boqCode;
    }

    public void setBoqCode(String boqCode) {
        this.boqCode = boqCode;
    }

    public String getInstitutionBoqCode() {
        return institutionBoqCode;
    }

    public void setInstitutionBoqCode(String institutionBoqCode) {
        this.institutionBoqCode = institutionBoqCode;
    }

    public String getBoqName() {
        return boqName;
    }

    public void setBoqName(String boqName) {
        this.boqName = boqName;
    }

    public String getParentCode() {
        return parentCode;
    }

    public void setParentCode(String parentCode) {
        this.parentCode = parentCode;
    }

    public String getAncestors() {
        return ancestors;
    }

    public void setAncestors(String ancestors) {
        this.ancestors = ancestors;
    }

    public Double getOrderNum() {
        return orderNum;
    }

    public void setOrderNum(Double orderNum) {
        this.orderNum = orderNum;
    }

    public Integer getLevel() {
        return level;
    }

    public void setLevel(Integer level) {
        this.level = level;
    }

    public String getLeafNode() {
        return leafNode;
    }

    public void setLeafNode(String leafNode) {
        this.leafNode = leafNode;
    }

    public String getUnit() {
        return unit;
    }

    public void setUnit(String unit) {
        this.unit = unit;
    }

    public BigDecimal getAmount() {
        return amount;
    }

    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    public BigDecimal getTotal() {
        return total;
    }

    public void setTotal(BigDecimal total) {
        this.total = total;
    }

    public BigDecimal getRemainderAmount() {
        return remainderAmount;
    }

    public void setRemainderAmount(BigDecimal remainderAmount) {
        this.remainderAmount = remainderAmount;
    }

    public BigDecimal getAlreadyAmount() {
        return alreadyAmount;
    }

    public void setAlreadyAmount(BigDecimal alreadyAmount) {
        this.alreadyAmount = alreadyAmount;
    }

    public BigDecimal getRemainderTotal() {
        return remainderTotal;
    }

    public void setRemainderTotal(BigDecimal remainderTotal) {
        this.remainderTotal = remainderTotal;
    }

    public BigDecimal getAlreadyTotal() {
        return alreadyTotal;
    }

    public void setAlreadyTotal(BigDecimal alreadyTotal) {
        this.alreadyTotal = alreadyTotal;
    }

    public String getComplete() {
        return complete;
    }

    public void setComplete(String complete) {
        this.complete = complete;
    }

    public Date getStartDate() {
        return startDate;
    }

    public void setStartDate(Date startDate) {
        this.startDate = startDate;
    }

    public Date getEndDate() {
        return endDate;
    }

    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    public Integer getDuration() {
        return duration;
    }

    public void setDuration(Integer duration) {
        this.duration = duration;
    }
}
